package com.xhsj.user.sms.transfer.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xhsj.user.sms.purchase.query.PatentInfoQuery;
import com.xhsj.user.sms.transfer.entity.TbTaskTransfer;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 任务转让 Mapper 接口
 * </p>
 *
 * @author suxiaolin
 * @since 2020-07-01
 */
@Mapper
public interface TbTaskTransferMapper extends BaseMapper<TbTaskTransfer> {

    // //专利审批任务接收
    int receiveAduitTaskByPatent(@Param("dataId") Object dataId, @Param("userId") Object userId);

    //专利个人任务接收
    int receiveMyTaskByPatent(@Param("dataId") Object dataId, @Param("userId") Object userId);

    //撤销
    int revokeTask(@Param("idList") List<String> idList);

    //模块证章个人任务接收
    int receiveMyTaskByBadges(@Param("dataId") Object dataId, @Param("userId") Object userId);

    //模块合同个人任务
    int receiveMyTaskByContract(@Param("dataId") Object dataId, @Param("userId") Object userId);

    //合同证章正在执行表的申请人
    int receiveMyTaskByBadgesExce(Map<String, Object> map);

    //合同证章正在执行表的指派人
    int receiveAduitTaskByBadgesExce(Map<String, Object> map);

    // 判断转出者是否是技术负责人选定的ipr
    Long getCheckIpr(@Param("dataId") String dataId);

    // 修改技术负责人选定的IPr
    int updateCheckIpr(@Param("dataId") String dataId, @Param("userId") Integer userId, @Param("createBy") String createBy);

    // 修改交底书与ipr关联
    int updateDisclosureIpr(@Param("dataId") String dataId, @Param("userId") Integer userId, @Param("createBy") String createBy);

    // 获取交底书所在的节点
    PatentInfoQuery getPatentNodeId(@Param("dataId") String dataId);

    // 专利审批任务接收历史表
    int receiveAduitHiTaskByPatent(@Param("dataId") Object dataId, @Param("userId") Object userId);

    // 查询任务转出选择的用户id
    Map<String,String> getUserIdByDataIdAndModelType(@Param("dataId") Long dataId, @Param("modelType") int modelType);

}
